package poc.scc.core.controladoria;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;

@Entity
@SequenceGenerator(name="seq", sequenceName="seq_questionario")
public class Questionario implements Serializable {
	private static final long serialVersionUID = -9190944098437774916L;
	
	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq")
	private Long id;
	private String nome;
	private String titulo;
	
	@ManyToOne
	@JoinColumn(name="tipo_questionario_id")
	private TipoQuestionario tipoQuestionario;
	
	private Boolean ativo = true;
	
	@OneToMany
	@JoinColumn(name="questionario_id")
	private List<Questao> questoes = new ArrayList<Questao>();
	
	public Long getId() {
		return id;
	}

	public void setId(Long identificador) {
		this.id = identificador;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nomeQuestionario) {
		this.nome = nomeQuestionario;
	}

	public Boolean getAtivo() {
		return ativo;
	}

	public void setAtivo(Boolean ativo) {
		this.ativo = ativo;
	}

	public List<Questao> getQuestoes() {
		return questoes;
	}

	public void setQuestoes(List<Questao> questoes) {
		this.questoes = questoes;
	}
	
	public TipoQuestionario getTipoQuestionario() {
		return tipoQuestionario;
	}

	public void setTipoQuestionario(TipoQuestionario tipoQuestionario) {
		this.tipoQuestionario = tipoQuestionario;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	@Override
	public String toString() {
		return "Questionario [identificador=" + id
				+ ", nomeQuestionario=" + nome
				+ ", tipoQuestionario=" + tipoQuestionario + ", ativo=" + ativo
				+ ", questoes=" + questoes + "]";
	}

}